home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / c64-preservation-project / educational / intro_to_basic_part_2[commodore_1983].nbz / wasps (.txt) < prev   
Encoding:
Commodore BASIC  |  2019-04-13  |  3.3 KB  |  138 lines

  1. 1 REM WASPSHOOTER COPYRIGHT (C) ANDREW COLIN 1983
  2. 10 DIMV%(8),U%(8),D%(8,2),W%(20,2)
  3. 20 PRINT"[147]W A S P S H O O T E R":PRINT:PRINT
  4. 25 PRINT"   COPYRIGHT (C) ANDREW COLIN 1983"
  5. 28 PRINT
  6. 30 PRINT"    KILL ALL THE WASPS"
  7. 40 PRINT"    BEFORE THE FLY-SPRAY"
  8. 50 PRINT"    RUNS OUT"
  9. 60 PRINT:PRINT"      M TO TURN RIGHT"
  10. 70 PRINT"      B TO TURN LEFT"
  11. 80 PRINT"      F TO GO FORWARD"
  12. 90 PRINT"      S TO SHOOT":PRINT
  13. 95 XX$="[211][211][211]"
  14. 100 SR=1024:PA=54272:FORJ=0TO23:POKEPA+J,0:NEXTJ
  15. 110 POKE PA+2,100:POKE PA+5,15:POKEPA+24,15:POKE PA+8,100:POKE PA+12,15:IP=70
  16. 115 POKE PA+19,15:POKEPA+6,224:POKEPA+4,0:POKEPA+4,65
  17. 118 POKE 53281,0:POKE 650,128
  18. 120 INPUT"HOW MANY WASPS";N
  19. 130 IFN<1ORN>20THEN PRINT"1 TO 20 PLEASE":GOTO120
  20. 150 FORJ=1TO8
  21. 160 READV%(J),U%(J),D%(J,1),D%(J,2)
  22. 170 NEXTJ
  23. 180 DATA-40,93,0,-1,-39,78,1,-1
  24. 190 DATA1,67,1,0,41,77,1,1
  25. 200 DATA40,93,0,1,39,78,-1,1
  26. 210 DATA-1,67,-1,0,-41,77,-1,-1
  27. 220 BU=INT(7*SQR(N)):SQ=0
  28. 230 PRINT"[147]"
  29. 240 FORJ=55296 TO 56295:POKEJ,7:NEXTJ
  30. 250 FORJ=1TON
  31. 260 W%(J,1)=INT(40*RND(0))
  32. 270 W%(J,2)=INT(12*RND(0))+1
  33. 280 POKE SR+40*W%(J,2)+W%(J,1),35
  34. 290 NEXTJ
  35. 300 NA=N
  36. 310 TS=TI
  37. 320 A=3:B=18:C=2:GOSUB2000
  38. 330 IFNA=0THEN500
  39. 335 IFBU=0THEN600
  40. 340 PRINT"[158]                                    "
  41. 350 PRINT"WASPS";NA;"TIME";INT((TI-TS)/60);"SHOTS";BU;"LIVES ";XX$
  42. 370 FORJ1=1TONA
  43. 380 IFW%(J1,1)>=0THENGOSUB1000
  44. 390 GETA$:IFA$=""THEN410
  45. 395 POKE 198,0
  46. 400 GOSUB3000
  47. 410 NEXTJ1
  48. 420 GOSUB2000:GOTO330
  49. 500 REM WINS
  50. 510 PRINT"[147]       WELL DONE !":PRINT
  51. 520 PRINT"     YOU HAVE KILLED ";N-NA:PRINT
  52. 530 PRINT"    WASPS IN"INT((TI-TS)/60);"SECONDS":PRINT
  53. 540 PRINT"    YOU WERE STUNG":PRINT
  54. 550 PRINTSQ;"    TIMES"
  55. 560 POKEPA+24,0:RESTORE
  56. 565 FOR TT=1 TO 5000:NEXT TT
  57. 570 PRINT:PRINT"    TO HAVE ANOTHER GAME HIT ANY KEY"
  58. 580 GETA$:IFA$="" THEN 580
  59. 590 GOTO 20
  60. 600 REM OUT OF FLY-SPRAY
  61. 610 PRINT"[147]SORRY-NO FLY-SPRAY":PRINT
  62. 620 PRINT"LEFT!":PRINT
  63. 630 GOTO520
  64. 1000 REM MOVE J1'TH WASP AT RANDOM
  65. 1010 XX=W%(J1,1):YY=W%(J1,2)
  66. 1020 XN=XX+INT(3*RND(0))-1:IFXN<0 OR XN>39 THEN 1020
  67. 1030 YN=YY+INT(3*RND(0))-1:IF YN<1 ORYN>24 THEN GOTO1030
  68. 1040 POKE SR+40*YY+XX,32
  69. 1045 IF J1>NA THEN 1070
  70. 1050 ZZ=SR+40*YN+XN:IFPEEK(ZZ)=32THEN POKE ZZ,35
  71. 1060 W%(J1,1)=XN:W%(J1,2)=YN
  72. 1070 IP=IP+INT(3*RND(0))-1:IF IP<60 ORIP>80  THENIP=70
  73. 1080 IFXN=A AND YN=BTHENGOSUB4000
  74. 1090 POKEPA,64*(IP AND 3):POKE PA+1,IP/4:RETURN
  75. 2000 REM DISPLAY HUNTER
  76. 2010 XX=SR+40*B+A:YY=XX+V%(C)
  77. 2020 POKEXX,81:POKEYY,U%(C):RETURN
  78. 2500 REM ERASE HUNTER
  79. 2510 XX=SR+40*B+A:YY=XX+V%(C)
  80. 2520 POKEXX,32:POKEYY,32:RETURN
  81. 3000 REMMOVE HUNTER OR SHHOT
  82. 3010 IFA$<>"M"THEN3040
  83. 3020 GOSUB2500:C=C+1:IFC=9THENC=1
  84. 3030 GOSUB2000:RETURN
  85. 3040 IFA$<>"B"THEN 3070
  86. 3050 GOSUB2500:C=C-1:IFC=0THENC=8
  87. 3060 GOSUB2000:RETURN
  88. 3070 IFA$<>"F"THEN 3150
  89. 3080 GOSUB2500:AA=A+D%(C,1):BB=B+D%(C,2)
  90. 3090 IF AA>2 AND AA<36 AND BB>2 AND BB<22 THEN A=AA:B=BB
  91. 3100 GOSUB2000
  92. 3110 FORJJ=1TONA
  93. 3120 IFA=W%(JJ,1)ANDB=W%(JJ,2)THENGOSUB4000
  94. 3130 NEXTJJ
  95. 3140 RETURN
  96. 3150 IFA$<>"S"THEN RETURN
  97. 3160 PP=A+2*D%(C,1):QQ=B+2*D%(C,2)
  98. 3170 POKEPA+11,129
  99. 3180 BU=BU-1
  100. 3190 RR=SR+40*QQ+PP
  101. 3200 FORKK=1TO5
  102. 3210 POKERR,102:FORTT=1TO30:NEXTTT
  103. 3220 POKERR,32:FORTT=1TO50:NEXTTT
  104. 3230 NEXTKK
  105. 3240 POKEPA+11,0
  106. 3250 FORJJ=1TONA
  107. 3260 IFPP=W%(JJ,1) ANDQQ=W%(JJ,2)THENJ2=JJ:GOSUB5000
  108. 3270 NEXTJJ:RETURN
  109. 4000 REM HUNTER IS STUNG
  110. 4010 PRINT"[158]   S T U N G ![160]![160]!"
  111. 4015 XX$=LEFT$(XX$,LEN(XX$)-1)
  112. 4020 GOSUB2500
  113. 4030 A=INT(3+16*RND(0)):B=INT(3+16*RND(0)):C=INT(1+8*RND(0))
  114. 4040 POKEPD,15:GOSUB2000:SQ=SQ+1
  115. 4050 POKEPA+18,17
  116. 4060 FORJJ=128 TO 255 STEP 3
  117. 4070 POKE PA+15,256-JJ:POKE 53281,JJ:POKE 53280,JJ-1
  118. 4080 NEXT JJ
  119. 4085 IF LEN(XX$)=1 THEN 4100:REM JUMP IF LIVES USED UP
  120. 4090 POKE PA+18,0:POKE 53281,0:RETURN
  121. 4100 POKE PA+24,0
  122. 4110 PRINT"[147]YOU HAVE BEEN STUNG THREE TIMES"
  123. 4120 PRINT"AND YOUR CONSTITUTION CAN NO LONGER"
  124. 4130 PRINT"STAND IT"
  125. 4135 PRINT
  126. 4140 GOTO520
  127. 5000 REM WASP IS KILLED
  128. 5010 PRINT"A WASP BITES THE DUST!               "
  129. 5020 FOR JJ=4 TO 92 STEP 4: POKE PA+15,100-JJ
  130. 5030 POKE PA+18,17
  131. 5040 FORTT=1TO10:NEXTTT
  132. 5050 POKE PA+18,0:FORTT=1TO10:NEXTTT
  133. 5060 NEXTJJ
  134. 5070 IFJ2=NATHENNA=NA-1:RETURN
  135. 5080 W%(J2,1)=W%(J2+1,1)
  136. 5090 W%(J2,2)=W%(J2+1,2)
  137. 5100 J2=J2+1:GOTO5070
  138.